iT邦幫忙

2023 iThome 鐵人賽

DAY 26
0
Cloud Native

你累了嗎,今天來點克勞內提夫!系列 第 27

Day27 Linux 安裝 Docker/kubenetes 安裝

  • 分享至 

  • xImage
  •  

Linux 安裝 Docker/kubenetes 安裝筆記

tags: 研究室碩一筆記

安裝 bash 檔

sudo apt-get install -y apt-transport-https ca-certificates curl gnupg

curl -Ol https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/amd64/containerd.io_1.6.18-1_amd64.deb
curl -Ol https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/amd64/docker-ce_23.0.1-1~ubuntu.20.04~focal_amd64.deb
curl -Ol https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/amd64/docker-ce-cli_23.0.1-1~ubuntu.20.04~focal_amd64.deb
sudo dpkg -i *.deb
rm *.deb
sudo usermod -aG docker $USER
sudo systemctl start docker
sudo systemctl enable docker
sudo docker version
# change docker cgroup driver to systemd
cat <<EOF | sudo tee /etc/docker/daemon.json
{
    "default-runtime": "nvidia",
    "exec-opts": [
        "native.cgroupdriver=systemd"
    ],
    "log-driver": "json-file",
    "log-opts": {
        "max-size": "100m"
    },
    "runtimes": {
        "nvidia": {
            "args": [],
            "path": "nvidia-container-runtime"
        }
    },
    "storage-driver": "overlay2"
}
EOF

sudo mkdir -p /etc/systemd/system/docker.service.d
sudo systemctl daemon-reload
sudo systemctl restart docker
systemctl status --no-pager docker

# Add k8s Repo
sudo su -c "curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -"
sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"
sudo apt update

# Install k8s packages
version=1.22.17-00
echo $version
apt-cache show kubectl | grep "Version: $version"
sudo apt install -y kubelet=$version kubectl=$version kubeadm=$version
sudo apt-mark hold kubelet kubeadm kubectl

# Essential Tweaks
cat << EOF | sudo tee /etc/modules-load.d/containerd.conf
overlay
br_netfilter
EOF
sudo swapoff -a
sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
sudo free -m
source <(kubectl completion bash)
echo "source <(kubectl completion bash)" >> ~/.bashrc

# Init cluster
## For Master Node

# sudo kubeadm init --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16 --v=6
# sudo kubeadm init --pod-network-cidr=192.168.0.0/16
### Copy Config
# mkdir -p $HOME/.kube
# sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
# sudo chown $(id -u):$(id -g) $HOME/.kube/config

### Flannel CNI
# kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml
### calico CNI
#kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.24.1/manifests/tigera-operator.yaml
#kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.24.1/manifests/custom-resources.yaml


### Waiting until Ready
# kubectl cluster-info
#watch -n 1 kubectl get nodes
#watch kubectl get pods -n calico-system

### Taint(if needed)
#kubectl taint nodes --all node-role.kubernetes.io/master-
# kubectl taint nodes --all node-role.kubernetes.io/control-plane- node-role.kubernetes.io/master-

# kubectl get nodes -o wide

全移除 bash 檔

sudo kubeadm reset -f
rm -rf ~/.kube
sudo apt remove -y --allow-change-held-packages kubelet kubectl kubeadm
sudo apt autoremove -y
sudo dpkg -r docker-ce
sudo dpkg -r docker-ce-cli
sudo dpkg -r containerd.io
sudo rm -rf /var/lib/docker /etc/docker
sudo rm /etc/apparmor.d/docker
sudo groupdel docker
sudo rm -rf /var/run/docker.sock
sudo dpkg --purge docker-ce
sudo dpkg --purge containerd.io

上一篇
Day26 Linux 私有 Images Registry and Web UI 建制
下一篇
Day28 Linux 重灌
系列文
你累了嗎,今天來點克勞內提夫!31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言